[アップデート][プレビュー]Amazon Inspectorがエージェントレスなスキャンに対応しました #AWSreInvent
はじめに
こんにちはAWS事業本部コンサルティング部のみなみです。
今回紹介するアップデートですが、Amazon Inspectorがエージェントレスなスキャンにも対応しました!
Inspector ClassicではInspector専用エージェントが必要でしたが、Inspector V2の登場によってSSMエージェントを利用してスキャンを行うようになりました。
今回のアップデートではSSMエージェントがインストールされていない場合でもエージェント無しでスキャンが行えるようになったというアップデートです!
本記事に記載の内容は本日時点でパブリックプレビューのものです。今後変更や廃止の可能性があります。
3行まとめ
- SSMエージェントがインストールされていない場合はエージェントレスでスキャンが行われるようになりました!
- スキャン頻度は24時間間隔で行われます。
- このアップデートによって、カバレッジ率を100%近くまで上げることが出来ます!
エージェントレススキャンの仕組みと仕様
スキャンモード
今回のアップデートにより、Scan modeという設定が追加されました。
エージェントレススキャンはスキャンモードがハイブリットモードの場合に動作します。
ハイブリッドモードでは、SSMエージェントがインストールされているインスタンスはエージェントベースのスキャン、インストールされていないインスタンスはエージェントレススキャンが行われます。
スキャン頻度
初回のスキャンに関してはAmazon Inspectorが1時間ごとに新たな対象インスタンスを検出してスキャンを行います。(SSMエージェントがインストールされていない新たなインスタンスだけではなく、新たにマネージドインスタンス外になったインスタンスも含まれます)
その後は24時間ごとにスキャンを行います。
仕組み
エージェントレススキャンでは、Amazon Inspectorが対象のインスタンスからEBSスナップショットを使用してソフトウェアインベントリを収集しスキャンを行います。
エージェントレススキャンを行う流れとしては以下の通りです。
1. EBSスナップショットの作成
対象のインスタンスにアタッチされている全てのボリュームのEBSスナップショットの作成します。
作成されたスナップショットにはInspectorScan
というタグキーとしてタグ付けされ、値として一意のスキャンIDが付けられます。
2. スキャンの実施
Amazon InspectorはEBS direct APIs
を利用してEBSスナップショットから直接データを取得し、脆弱性がないかスキャンを行います。
3. EBSスナップショットの削除
スキャン終了後Amazon Inspectorが作成したEBSスナップショットを削除します。
仕様
エージェントレススキャンではデフォルトでディープインスペクションスキャンを行い、プログラミング言語のパッケージマネージャーからインストールしたパッケージの脆弱性の検出します。
通常のエージェントベースでディープインスペクションスキャンを行う場合はデフォルトパスと追加で指定したパスのみがスキャンされます。
一方エージェントレススキャンでは使用可能なすべてのパスがスキャンされます。
その為、エージェントベースの方法でスキャンされたかエージェントレスの方法でスキャンされたかに応じて、同じインスタンスでも異なる結果が得られる場合がある点には注意です。
対象となるインスタンス
EBSはext3 / ext4 / xfsいずれかのファイルシステム形式である必要があります。
また、エージェントレススキャンの対象から除外したい場合は、エージェントベースのスキャン同様InspectorEc2Exclusion
をインスタンスにタグ付けすることで可能です。
(KMSで暗号化している場合はKMSにタグをつけることでも除外できます)
エージェントレススキャンやってみた
エージェントレススキャンは11月29日現在、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)にてプレビュー版を利用することが出来ます。
EC2 scanning settingsにScan modeという項目が追加されていることが確認できました。
デフォルトの状態ですと、エージェントベースのモードとなっています。(新たにInspectorをアクティブにした場合でも、Scan modeはエージェントベースとなります)
編集からハイブリットモードに変更を行います。
これだけでエージェントレススキャンを利用可能です!
Resources coverageのEC2 instancesからインスタンスを確認すると、新たにMonitored usingという欄が増えています。
また、Last scannedを確認することによって最後にスキャンがいつ行われたか確認することも可能です。
スキャンが行われたことを確認後、Cloudtrailも見てみましょう
InspectorAgentlessScanning
というユーザー名で実行されていることが確認できます。
CreateSnapshots
のイベントを確認すると、InspectorScan
というタグキーと一意のIDが付与されていることが確認出来ますね。
今までのエージェントベースのスキャンとの棲み分け
今回のアップデートでSSMエージェントがインストールされていない場合でもInspectorで脆弱性管理することが出来るようになりました。
しかし、Linuxにおいては依然としてエージェントベースのスキャンを推奨します。
Linuxでのエージェントベースのスキャンの場合、既存のインスタンスに新しいソフトウェアをインストールする場合やAmazon Inspector が新しい Common Vulnerabilities and Exposures (CVE) 項目をそのデータベースに追加するときにスキャンを行う為、より継続的に脆弱性管理を行うことが出来る為です。
今回のアップデートによる利点としては、カバレッジ率を100%近くまで上げられるようになったというのが大きいです。
その為、Scan modeとしてはハイブリットに設定することをオススメします!
最後に
Inspectorもかなり使いやすくなってきましたね。 継続的な脆弱性管理を行なって、セキュリティを向上させましょう!